using System;
using System.ComponentModel;
using HeadCounter.Armourer.Base;

namespace HeadCounter.Armourer
{
    public interface IArmouryService
    {
        void EnqueueGetItem(int itemId);
        event EventHandler<ItemDataDownloadedEventArgs> ItemDataDownloaded;

        void EnqueueGetCharacter(WowRegion region, string realm, string name);
        event EventHandler<CharacterDataDownloadedEventArgs> CharacterDownloaded;

        void RunArmouryServiceAsync();
        event EventHandler<RunWorkerCompletedEventArgs> ArmouryServiceCompleted;
        event EventHandler<ProgressChangedEventArgs> ArmouryServiceProgressChanged;

        bool IsWorking();
    }
}